/**
 * 步骤名称翻译表
 *
 * @fileoverview 将技术步骤名称翻译为用户友好的中文文本
 */

/**
 * 步骤名称到用户友好文本的映射
 */
export const STEP_TRANSLATIONS: Record<string, string> = {
  // 预约流程步骤
  startBooking: '开始预约',
  launchBrowser: '正在启动浏览器...',
  selectServiceType: '正在选择服务类型...',
  agreeTerms: '正在确认条款...',
  selectDate: '正在选择预约日期...',
  selectTime: '正在选择时间段...',
  fillForm: '正在填写预约信息...',
  submitForm: '正在提交预约...',
  confirmBooking: '正在确认预约...',
  complete: '预约完成',

  // 具体步骤（从 BookingEngine 中提取）
  stepLaunchBrowser: '启动浏览器',
  stepNavigateHome: '正在访问首页...',
  stepSelectServiceType: '选择服务类型',
  stepAgreeTerms: '确认条款',
  stepSelectDate: '选择日期',
  stepSelectTime: '选择时间段',
  stepFillForm: '填写信息',
  stepSubmitForm: '提交预约',
  stepConfirmBooking: '确认预约',

  // Request模式步骤（HTTP请求预约）
  访问首页: '正在访问首页...',
  同意条款: '正在确认条款...',
  填写个人信息: '正在填写个人信息...',
  身份验证: '正在验证身份信息...',
  查询可用日期: '正在查询可用日期...',
  选择时段: '正在选择时间段...',
  确认预约: '正在确认预约信息...',
  提交预约: '正在提交预约...',

  // 通用状态
  start: '开始',
  success: '完成',
  error: '失败',
  warn: '警告',
}

/**
 * 翻译步骤名称为用户友好文本
 *
 * @param stepName - 技术步骤名称
 * @param defaultMessage - 如果找不到翻译，使用的默认消息
 * @returns 用户友好的步骤文本
 */
export function translateStep(stepName: string, defaultMessage?: string): string {
  return STEP_TRANSLATIONS[stepName] || defaultMessage || stepName
}
